using System.IO;
using CthulhuDomain.Services;
using Microsoft.Pex.Framework;
using Microsoft.Pex.Framework.Validation;
using Microsoft.VisualStudio.TestTools.UnitTesting;
using Microsoft.Xna.Framework.Content;
using Microsoft.Xna.Framework.GamerServices;
using Microsoft.Xna.Framework.Graphics;

namespace Invaders.Test
{
  //[TestClass]
  //public partial class CollisionManagerFixture
  //{
  //  #region 

  //  private static ContentManager contentManager;
  //  public TestContext TestContext { get; set; }

  //  [ClassCleanup]
  //  public static void MyClassCleanup()
  //  {
  //  }

  //  [ClassInitialize]
  //  public static void MyClassInitialize(TestContext testContext)
  //  {

  //  }

  //  [TestInitialize()]
  //  public void MyTestInitialize()
  //  {
  //    var gd = new MockedGraphicsDeviceService(DeviceType.Hardware, GraphicsProfile.HiDef);
  //    gd.CreateDevice();
  //    contentManager = new ContentManager(gd.ServiceProvider)
  //                       {RootDirectory = Path.GetFullPath("../../../CthulhuInvaders/bin/x86/Debug/Content/")};
  //  }

  //  //Use TestCleanup to run code after each test has run
  //  [TestCleanup()]
  //  public void MyTestCleanup()
  //  {
  //    ScoreManager.Reset();
  //    contentManager = null;
  //  }

  //  #endregion

  //  [PexMethod]
  //  [PexAllowedException(typeof(GamerServicesNotAvailableException))]
  //  public void Score_AfterPlayerStrikeCthulhu_ShouldBeIncreased()
  //  {
  //    //Arrange

  //    //var oldScore = ScoreManager.Score;
  //    //var result = ShootIntersectDomainEntity_ShootShouldBeRemoved();

  //    //// Act
  //    //ScoreManager.Update(result);

  //    //// Assert
  //    //Assert.IsTrue(ScoreManager.Score > oldScore, "Score after strike of cthulhu is not increased");
  //  }

  //}
}